Some of the most exciting simulations and video games are those in which the game player or other operator controls a simulated vehicle. Flight simulators that simulate an airplane or jet, driving games that simulate a race car, boat or jet ski games that simulate water craft, and space games that simulate space craft are examples of virtual experiences that have supplied endless fascination and challenges.
More sophisticated driving or vehicle simulations simulate the physics of the vehicle as it travels, providing a very realistic interactive experience. Such simulations can be so realistic that pilots, astronauts or other vehicle operators sometimes use simulators to train for operating real vehicles. Video game developers also often seek to make their vehicle simulation games as realistic as possible.
One of the challenges of providing realistic vehicle simulation relates to the control interface a game player or other operator uses to operate the simulated vehicle. On expensive flight simulators and spacecraft simulators of the type used to train pilots or astronauts, it is possible to provide a model vehicle cockpit including real joysticks, steering wheels, gauges and other instrumentation and controls that are the same as the controls within actual vehicles. Driving simulators of the type used to train new drivers to operate motor vehicles can similarly provide full-sized steering wheels, gas and brake pedals, turn signal controls and the like to provide a very close simulation of actual vehicle operation. Some of the more realistic arcade video games similarly provide full-sized joy sticks, steering wheels, and gas and brake pedals so that the game player feels as if he or she is operating an actual vehicle.
Unfortunately, such realistic input devices can be very expensive to manufacture and are quite large and bulky. In the context of home video game play, it is possible to purchase equipment accessory driving game user interfaces including steering wheels and the like for use in controlling driving games on home video game platforms and/or personal computers. However, such peripheral input devices are expensive and many video game players cannot justify the cost—especially if they play a variety of games only some of which are driving games.
Another approach that video game designers have turned to is using the existing more general purpose input devices available on a home video game platform or personal computer to provide realistic and flexible control of a vehicle simulation. Since many home video game platforms are now equipped with one or multiple joysticks, it is perhaps straightforward to provide a realistic joystick-like control of an aircraft or spacecraft simulation using the existing control interface. Similarly, control of a simulated watercraft such as a jet ski or small outboard motor boat can be readily simulated using a joystick (usually in addition with other controls) as a control interface. However, there is no ready way to simulate a steering wheel using a joystick. In fact, the ergonomics of a steering wheel are somewhat different from those of a joystick.
Consider, for example, the relative ease by which it is possible to steer a car or boat using a steering wheel. A steering wheel provides grips for both hands but can be operated with a single hand if desired. It is possible through a simple movement of the arms to turn the steering wheel in either rotational direction (clockwise or counter clockwise) to control the direction the vehicle is traveling. Even a relatively slight rotation of the steering wheel can cause a major, rapid response in the movement of the vehicle. One can immediately tell by looking at the position of the steering wheel how much the vehicle steering mechanism (e.g., front wheel position for a car or truck, rudder for a boat) is deflected to cause a change in vehicle course. Rapid motion of the steering wheel from a neutral position to a corrective steering position and back to the neutral position can provide almost immediate response in vehicle course change. The amount by which the steering wheel is rotated can directly correspond to the amount the vehicle course control mechanism deflects or otherwise acts in order to change vehicle course. In view of these simple and effective ergonomics, it is no accident that steering wheels are standard control mechanisms for many vehicles of all different types throughout the world.
Consider now the challenge involved in attempting to simulate the operation of a steering wheel using other control inputs such as for example, a joystick, trackball or mouse pointing device. Like a steering wheel, these devices (in at least some of their forms) can provide a variable amount of control as opposed to simply on/off control. For example, an analog joystick, can provide a range of active control inputs so that the amount of joystick deflection can correspond to the amount of vehicle course correction, and the direction of joystick deflection can correspond to the direction of vehicle course correction. Similarly, one can immediately see by looking at the position of a joystick or a mouse how much course correction is being applied and the direction of such course correction. Yet, while the correspondence between a joystick and a steering wheel is quite close in some respects, it is not sufficiently close that one finds many automobiles controlled by joysticks rather than steering wheels. For example, most joysticks provide two degrees of freedom (forward/backward and left/right) that does not correspond at all to the more constrained clockwise/counterclockwise rotation of a steering wheel. Some experimental cars have used joysticks instead of steering wheels, but one does not find joysticks replacing steering wheels on standard passenger automobiles.
An even greater challenge is presented when one attempts to simulate realistic vehicle control inputs using a game playing platform that does not provide the continuous motion of a joystick, trackball or mouse. Due to size, cost and related issues, many popular handheld video game playing platforms (including for example dedicated video game players, cellular telephones, PDAs and the like) may have no continuous or analog control input devices such as joysticks, trackballs, mice or the like, or any continuous or analog control input devices may be quite different in configuration. In some such platforms, it has been necessary in the past to control the course of a simulated vehicle using discrete key closures of momentary-on push button controls. Resulting games have been successful, but one cannot say that the control input functionality completely realistically simulates the control input of an actual vehicle steering wheel. Therefore, further improvements are desirable.
Some recent portable handheld video game platforms including for example the Nintendo DS are provided with touch sensitive screens. In the abstract, it would seem to be desirable to make use of such touch sensitive screens to provide more realistic control input simulations for driving games and other applications. However, it is not immediately apparent how the developer of a video game or other application might use or take advantage of a touch screen to provide a realistic vehicle control input function. In particular, a touch screen typically senses a position of a finger or stylus disposed at a single point on the screen. Moving the finger or stylus back and forth or over the touch screen does not necessarily have the same intuitive feel as rotating a steering wheel in different directions. To the contrary, the linear movement of a finger or stylus on a flat surface seems at first appearance to have no real intuitive ergonomic relationship with gripping and rotating a steering wheel.
The technology herein provides, in exemplary illustrative non-limiting implementations, unique and non-obvious techniques for using a relatively limited repertoire of input controls to provide realistic, exciting and accurate simulations of steering wheel operated (and other) vehicles or other moving objects.
In one exemplary illustrative non-limiting implementation, a video game or other application displays an image of a steering wheel. Such display may be on the same screen as one that displays other information such as a race course or other environment through which the vehicle may be maneuvered in a simulated fashion, or it may be on a different screen. The steering wheel display is, in one exemplary illustrative non-limiting implementation, displayed on a screen that is touch sensitive. The touch-sensitive functionality of the screen is used in at least some exemplary illustrative non-limiting implementations to allow the video game player to control the position of the steering wheel displayed on the screen. The displayed vehicle steering wheel position, in turn, is used to control the travel motion or direction of the vehicle being simulated. The resulting simulation provides a realistic input control interface obtainable using relatively inexpensive and compact input devices such as those available on conventional portable or other video game play and/or simulation platforms.
One exemplary illustrative non-limiting implementation draws a graphic of a steering-wheel on an LCD display screen. The input from a stylus or other pointer is used to determine a vector from the center of the steering-wheel to the point being touched on the LCD display. The angle between any two consecutive vectors is used to determine the direction and amount of rotation of the displayed steering-wheel.
While the input from the steering-wheel itself is sufficient to simulate, for example, the driving of an automobile, the input may be further analyzed to make the simulated vehicle more controllable for the user. For example, in some exemplary illustrative non-limiting implementations, specific zones are defined (e.g., centered around the wheel at approximately 45-degrees from center in either direction). The user input is constantly compared to these zones to determine exactly how “frantic” the user is responding to the current position and orientation of the simulated vehicle. This allows the simulation to actually “take-over” (for short periods of time) when it deems it appropriate to keep the vehicle centered on the road or other course.
As the simulation progresses, the user is given visual-feedback (e.g., via translation and scaling of the steering-wheel graphic) about the current environment that the vehicle is experiencing. This may include collisions with other cars or static objects, rough-road, etc. This feedback allows the user to have a much more vivid experience in the simulation than merely seeing other vehicles or objects close to his or her vehicle.
In more detail, one exemplary illustrative non-limiting operating mode uses momentary-on key closures to control the course of a simulated vehicle. For example, depressing one pushbutton switch causes the vehicle to steer to the left, while depressing another pushbutton causes the vehicle to steer to the right. In response to such depressions, a model of a vehicle steering wheel displayed on a screen rotates to the left or to the right respectively to provide a visual indication to the game player as to how much the game player is correcting the course of the simulated vehicle. In such exemplary control interfaces, for example, depressing a button for a short period of time may be seen on the screen to cause only a slight rotation of the displayed steering wheel, while depressing the control button for a longer period of time causes more rotation of the displayed steering wheel. In some exemplary illustrative control interfaces, operation could be accomplished with only a single finger or thumb by operating a cross switch or other similar control.
Exemplary illustrative non-limiting implementations can provide additional or different steering wheel control simulations that take advantage of the touch screen functionality. For example, one exemplary illustrative non-limiting implementation makes use of a stylus or other touch screen pointer to control deflection or rotation of the simulated steering wheel to thereby simulate control of the vehicle. It is possible, for example, to place the stylus or other pointer in registry with the image of the simulated steering wheel displayed on the touch screen. Rotating the steering wheel may be accomplished by linear movement of the stylus on the touch screen. For example, moving the stylus linearly from the center of the display to the left of the display may cause the steering wheel to rotate counter clockwise, whereas moving the stylus to the right linearly may cause the simulated steering wheel to rotate clockwise. The amount of linear movement (e.g., the relative position of the stylus relative to an imaginary vertical center of the touch screen or other reference point) may control the amount of clockwise or counter clockwise rotation of the steering wheel.
In such exemplary illustrative non-limiting implementations, the game player is offered quite a bit of flexibility to control the simulated steering wheel as he or she sees fit or as is most natural. Some game players may find it to be quite intuitive to keep the stylus or finger positioned over a part of the steering wheel and to use it as simulated handgrip to directly cause the steering wheel to turn in one direction or another. Other game players, in contrast, may find it to be more intuitive to move the stylus with a finger in ways that do not appear to be directly in contact with the displayed steering wheel but which nevertheless directly exert “virtual” (“the unseen hand”) control over the simulated clockwise or counter clockwise movement of the displayed steering wheel on the screen.
As explained above, in this exemplary illustrative implementation, the angle between two consecutive vectors defined by successive stylus stopping points and the displayed steering wheel center can be used to control the amount of steering wheel rotation, and the direction of the change in stylus position can be used to control the direction of steering wheel rotation. Furthermore, display of the steering wheel is not even necessary to effect such control—similar steering functionality can be provided in other exemplary illustrative implementations when a steering wheel display is suppressed or otherwise not present.
In further exemplary illustrative non-limiting implementations, a stylus or finger control may be replaced by a thumb strap or other actuator that is in effect “worn” by the game player. In such exemplary illustrative non-limiting implementations, the portable game player may be equipped with a wrist strap including a small touch screen actuator that may be attached to and worn by a game player on a digit such as a thumb or a finger. Placing the actuator in contact with the touch screen may allow the game player to control the rotational position of the simulated steering wheel—with our without the vector control described above. Different scaling factors can be applied to stylus and thumb-mounted actuators to provide more comfortable user ergonomics.
Further exemplary illustrative implementations provide a “smart” or “intelligent” user assist that senses different types of user control input actuations and “helps” the user when appropriate while forbearing from such “helping” when not appropriate.
Still further exemplary illustrative non-limiting implementations substitute a different visual (e.g., a zone pattern such as the top half of an archery target) for the steering wheel display. The user may use such a visual to guide him or her in positioning a touch input. Different zones may correspond to different input control scales to indicate how much control is exerted on the simulated vehicle or other object for a given amount to touch input position change.